home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / BBS_UTL / MAXSTUFF / MAXUSER.PAS < prev   
Pascal/Delphi Source File  |  1993-03-06  |  11KB  |  233 lines

  1. (*****************************************************************************)
  2. (*                                                                           *)
  3. (*   Maximus CBCS v2.01wb Turbo Pascal USER.BBS/LASTUS??.BBS data structure  *)
  4. (*                                                                           *)
  5. (*                Converted to Turbo Pascal by David Drzyzga                 *)
  6. (*                                                                           *)
  7. (*                           ·∙ Compliments of ∙·                            *)
  8. (*                                                                           *)
  9. (*                          =>> CUTTER JOHN'S <<=                            *)
  10. (*                              (904)932-1849                                *)
  11. (*                                                                           *)
  12. (*                               23hrs/7days                                 *)
  13. (*                          US Robotics HST 14.4k                            *)
  14. (*                                                                           *)
  15. (*                            FidoNet 1:3612/220                             *)
  16. (*                                                                           *)
  17. (*                Official Release Point for EPIC MegaGames                  *)
  18. (*             Official APOGEE Software Distribution Site #155               *)
  19. (*                    Distribution site for MVP Software                     *)
  20. (*                                                                           *)
  21. (*                           SDS/SDN/DDS/UTILNET                             *)
  22. (*                                                                           *)
  23. (*****************************************************************************)
  24.  
  25. const
  26.  
  27. { Masks for usr.help, below }
  28.  
  29.   HELP_HOTFLASH         = $20;
  30.   HELP_EXPERT           = $02;
  31.   HELP_REGULAR          = $04;
  32.   HELP_NOVICE           = $06;
  33.  
  34. { Constants for usr.video, below }
  35.  
  36.   VIDEO_TTY             = $00;     { The current user's graphics setting...   }
  37.   VIDEO_ANSI            = $01; 
  38.   VIDEO_AVATAR          = $02;
  39.  
  40. { Masks for usr.bits1, below }
  41.  
  42.   BITS_HOTKEYS          = $01;     { Hotkeys, independent of HOTFLASH level   }
  43.   BITS_NOTAVAIL         = $02;     { If set, user is NOT available for chat.  }
  44.   BITS_FSR              = $04;     { Full-screen reading in msg areas         }
  45.   BITS_NERD             = $08;     { Yelling makes no noise on sysop console  }
  46.   BITS_NOULIST          = $10;     { Don't display name in userlist           }
  47.   BITS_TABS             = $20;     { Reserved                                 }
  48.   BITS_BIT6             = $40;     { Reserved                                 }
  49.   BITS_BIT7             = $80;     { Reserved                                 }
  50.  
  51.  
  52. { Masks for usr.bits2, below }
  53.  
  54.   BITS2_BADLOGON        = $0001;   { MAX: if user's last logon attempt was bad}
  55.   BITS2_IBMCHARS        = $0002;   { MAX: if user can receive high-bit chars  }
  56.   BITS2_RSVD1           = $0004;   { MAX: *obsolete* 1.02 avatar flag         }
  57.   BITS2_BORED           = $0008;   { Use the line-oriented editor             }
  58.   BITS2_MORE            = $0010;   { Wants the "MORE?" prompt                 }
  59.   BITS2_RSVD2           = $0020;   { OPUS: set=wants Ansi                     }
  60.   BITS2_CONFIGURED      = $0040;   { OPUS: set=used Maximus before            }
  61.   BITS2_CLS             = $0080;   { OPUS: set=transmit ^L, clear=ignore ^L   }
  62.   BITS2_BIT8            = $0100;   { used to be 'usr.keys'                    }
  63.   BITS2_BIT9            = $0200;   { used to be 'usr.keys'                    }
  64.   BITS2_BITA            = $0400;   { used to be 'usr.keys'                    }
  65.   BITS2_BITB            = $0800;   { used to be 'usr.keys'                    }
  66.   BITS2_BITC            = $1000;   { used to be 'usr.keys'                    }
  67.   BITS2_BITD            = $2000;   { used to be 'usr.keys'                    }
  68.   BITS2_BITE            = $4000;   { used to be 'usr.keys'                    }
  69.   BITS2_BITF            = $8000;   { used to be 'usr.keys'                    }
  70.  
  71. { Masks for usr.priv, below }
  72.  
  73.   TWIT                  = $FFFE;
  74.   DISGRACE              = $0000;
  75.   LIMITED               = $0001;
  76.   NORMAL                = $0002;
  77.   WORTHY                = $0003;
  78.   PRIVIL                = $0004;
  79.   FAVORED               = $0005;
  80.   EXTRA                 = $0006;
  81.   CLERK                 = $0007;
  82.   ASSTSYSOP             = $0008;
  83.   SYSOP                 = $000A;
  84.   HIDDEN                = $000B;
  85.  
  86. { Masks for usr.delflag, below }
  87.  
  88.   UFLAG_DEL             = $01;
  89.   UFLAG_PERM            = $02;
  90.  
  91. { Masks for usr.xp_flag, below }
  92.  
  93.   XP_DATE               = $01;     { Use the xp_date to control access        }
  94.   XP_TIME               = $02;     { Use the xp_mins number to control access }
  95.   XP_DEMOTE             = $04;     { Demote user to priv level in usr.xp_priv }
  96.   XP_HANGUP             = $08;     { Just hang up on user                     }
  97.   XP_NONE               = $00;
  98.   XP_DATE_DEMOTE        = $05;
  99.   XP_DATE_HANGUP        = $09;
  100.   XP_TIME_DEMOTE        = $06;
  101.   XP_TIME_HANGUP        = $0A;
  102.  
  103. { Constants used for urs.xkeys, below }
  104.  
  105.   KEY1                  = $00000001;
  106.   KEY2                  = $00000002;
  107.   KEY3                  = $00000004;
  108.   KEY4                  = $00000008;
  109.   KEY5                  = $00000010;
  110.   KEY6                  = $00000020;
  111.   KEY7                  = $00000040;
  112.   KEY8                  = $00000080;
  113.   KEYA                  = $00000100;
  114.   KEYB                  = $00000200;
  115.   KEYC                  = $00000400;
  116.   KEYD                  = $00000800;
  117.   KEYE                  = $00001000;
  118.   KEYF                  = $00002000;
  119.   KEYG                  = $00004000;
  120.   KEYH                  = $00008000;
  121.   KEYI                  = $00010000;
  122.   KEYJ                  = $00020000;
  123.   KEYK                  = $00040000;
  124.   KEYL                  = $00080000;
  125.   KEYM                  = $00100000;
  126.   KEYN                  = $00200000;
  127.   KEYO                  = $00400000;
  128.   KEYP                  = $00800000;
  129.   KEYQ                  = $01000000;
  130.   KEYR                  = $02000000;
  131.   KEYS                  = $04000000;
  132.   KEYT                  = $08000000;
  133.   KEYU                  = $10000000;
  134.   KEYV                  = $20000000;
  135.   KEYW                  = $40000000;
  136.   KEYX                  = $80000000;
  137.   KEYALL                = $FFFFFFFF;
  138.  
  139. { Constants for usr.lang, below }
  140.  
  141.   LANGUAGE_01           = $00;
  142.   LANGUAGE_02           = $01;
  143.   LANGUAGE_03           = $02;
  144.   LANGUAGE_04           = $03;
  145.   LANGUAGE_05           = $04;
  146.   LANGUAGE_06           = $05;
  147.   LANGUAGE_07           = $06;
  148.   LANGUAGE_08           = $07;
  149.  
  150. { Constants for usr.def_proto, below }
  151.  
  152.   DPROT_NONE            = $FF;
  153.   DPROT_XMODEM          = $FE;
  154.   DPROT_TELELINK        = $FD;
  155.   DPROT_XMODEM1K        = $FC;
  156.   DPROT_SEALINK         = $FB;
  157.   DPROT_ZMODEM          = $FA;
  158.   DPROT_XTERN01         = $00;
  159.   DPROT_XTERN02         = $01;
  160.   {etc..}
  161.  
  162. { Constants for usr.compress, below }
  163.  
  164.   COMPRESS_NONE         = $00;
  165.   COMPRESS_01           = $01;
  166.   COMPRESS_02           = $02;
  167.   COMPRESS_03           = $03;
  168.   COMPRESS_04           = $04;
  169.   COMPRESS_05           = $05;
  170.   COMPRESS_06           = $06;
  171.   COMPRESS_07           = $07;
  172.   COMPRESS_08           = $08;
  173.   COMPRESS_09           = $09;
  174.   COMPRESS_10           = $0A;
  175.   COMPRESS_11           = $0B;
  176.   COMPRESS_12           = $0C;
  177.   COMPRESS_13           = $0D;
  178.   COMPRESS_14           = $0E;
  179.   COMPRESS_15           = $0F;
  180.   
  181. type
  182.   datetime = record
  183.     date:word;
  184.     time:word;
  185.   end;
  186.  
  187.   usr = record
  188.     name:array [0..35] of char;    { Caller's name                            }
  189.     city:array [0..35] of char;    { Caller's location                        }
  190.     alias:array [0..20] of char;   { MAX: user's alias (handle)               }
  191.     phone:array [0..14] of char;   { MAX: user's phone number                 }
  192.     lastread_ptr:word;             { MAX: a num which points to offset in     }
  193.                                    { LASTREAD file -- Offset of lastread      }
  194.                                    { pointer will be lastread_ptr*sizeof(int) }
  195.     timeremaining:word;            { MAX: time left for current call          }
  196.     pwd:array [0..15] of char;     { Password                                 }
  197.     times:word;                    { Number of previous calls to this system  }
  198.     help:byte;                     { Help level                               }
  199.     rsvd1:array[0..1] of byte;     { Reserved by Maximus for future use       }
  200.     video:byte;                    { user's video mode (see VIDEO_XXXX)       }
  201.     nulls:byte;                    { Number of Nulls (delays) after <cr>      }
  202.     bits:byte;                     { Bit flags for user (number 1)            }
  203.     rsvd2:word;                    { Reserved by Maximus for future use       }
  204.     bits2:word;                    { Bit flags for user (number 2)            }
  205.     priv:word;                     { Access level                             }
  206.     rsvd3:array [0..18] of char;   { Reserved by Maximus for future use       }
  207.     struct_len:byte;               { len of struct, divided by 20.            }
  208.     time:word;                     { Time on-line so far today                }
  209.     delflag:word;                  { Used to hold delete/permanent status     }
  210.     rsvd4:array [0..7] of byte;    { Reserved by Maximus for future use       }
  211.     width:byte;                    { Width of the caller's screen             }
  212.     len:byte;                      { Height of the caller's screen            }
  213.     credit:word;                   { Matrix credit, in cents                  }
  214.     debit:word;                    { Current matrix debit, in cents           }
  215.     xp_priv:word;                  { Priv to demote to, when time runs out    }
  216.     xp_date:datetime;              { Bit-mapped date of when user expires.    }
  217.                                    { If zero, then no expiry date.            }
  218.     xp_mins:longint;               { Minutes left before expiring.            }
  219.     xp_flag:byte;                  { Flags for expiry.  See above XP_XXXXXX   }
  220.     xp_rsvd:byte;                  { Reserved by Maximus for future use       }
  221.     ludate:datetime;               { Bit-mapped date of user's last call      }
  222.     xkeys:longint;                 { User's keys (all 32 of 'em)              }
  223.     lang:byte;                     { The user's current language #            }
  224.     def_proto:byte;                { Default file-transfer protocol           }
  225.     up:longint;                    { K-bytes uploaded, all calls              }
  226.     down:longint;                  { K-bytes downloaded, all calls            }
  227.     downtoday:longint;             { K-bytes downloaded, today                }
  228.     msg:array [0..9] of char;      { User's last msg area (string)            }
  229.     files:array [0..9] of char;    { User's last file area (string)           }
  230.     compress:byte;                 { Default compression program to use       }
  231.     rsvd:array[0..4] of byte;      { Reserved by Maximus for future use       }
  232.   end;
  233.